package boerse.main.Account;

import boerse.main.Exceptions.NegativeShareCountException;
import boerse.main.Exceptions.NegativeValueException;
import boerse.main.Exceptions.NotEnoughMoneyException;

public interface AccountManager {

	void createPlayer(String name);
	
	void buyShare(String playerName, String shareName, int count) throws NegativeValueException, NotEnoughMoneyException;
	
	void sellShare(String playerName, String shareName, int count) throws NegativeValueException, NegativeShareCountException;
	
	long getCashAccountPrice(String playername);
	
	long getShareDepositPrice(String playername);
	
	long getAllAssets(String playername);
	
	void addMoney(String playername, int money) throws NegativeValueException;

    void showTicker();

    void drawGraph(String shareName);
	
}
